他坦白:只是为了研究才劫持流行库的,你信吗?
编译:代码卫士
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
鉴于 “ctx” 和 “PHPass” 已获得300多万的下载量,因此这起劫持事件引起开发人员的诸多恐慌以及讨论,他们担心这起劫持事件对整体软件供应链的影响。
这起劫持背后的黑客打破沉默,自称为“安全研究员”,这是他自己的漏洞奖励练习并无恶意意图。
今天,劫持事件背后的黑客发声解释称,这是一个概念验证 (PoC) 漏洞奖励练习,并无造成“恶意活动”或损害的意图。
他是位于伊斯坦布尔的一名安全研究员,名叫 Yunus Aydin。他表示自己窃取AWS密钥的原因是演示该exploit 的“最大影响”。
这起劫持事件的消息首先源自Reddit论坛上的一名用户,他表示”ctx”已有8年时间未更新后,突然出现新版本。另外一名道德黑客 Somdev Sangwan 后来注意到PHP框架的一个分叉之一 “PHPass” 也被以类似方式修改并用于窃取AWS密钥,且也是通过相同的端点。
BleepingComputer 注意到,在被修改的 “ctx” 版本中,“作者”的姓名被修改为 Yunus AYDIN,而非原作者 Robert Ledger。但 Ledger 的邮箱地址并未被改动。一些研究人员也注意到,被劫持者创建的Heroku 网页泄露了劫持者的联系信息但并无其它更多信息。
虽然 Aydin 声称自己只是进行道德研究,但受害者并不认为如此。
多数针对开源库的PoC和漏洞奖励练习使用的都是简化代码,如在目标系统上打印“你被黑了!”,或者提取基本的指纹信息如用户的IP地址、主机名称和工作目录。研究人员随后可通过这些信息证明成功渗透系统,并通过道德研究和负责任的披露获得漏洞奖励。
但在 “ctx”和“PHPass”的案例中,被劫持的版本并未停止在PoC 层面。黑客盗取了开发者的环境变量和AWS凭据,导致人们对劫持者的意图提出质疑,怀疑并非是道德研究。
盗取存储在环境变量中的机密信息如密码和API密钥,越线了,尤其劫持的是这类已被下载数百万次的热门库。
Aydin 表示,“我向HackerOne 发送了报告,以展示最大的影响。整个研究过程并未包含任何恶意活动。我想要展示这种简单攻击影响1000多万用户和企业。我收到的所有数据已删除且并未使用。”
当问到漏洞报告是否被接受且获得奖励,Aydin 表示HackerOne 认为他的漏洞报告和别人重复。有些人甚至注意到Aydin 在被劫持的库获得关注外,在网络世界中小时了。Aydin 的网站也不再运营,他的BugCrowd 资料也无法访问。这名研究员将自己网站宕机的原因归为带宽不够,“它是一个免费的web托管,每日点击量有限。因此ooowebhost 因为获得的关注太多而关闭了我的网站。”
今天,Aydin 解释称,和程序包相关联的原始维护人员的域名过期后,自己接管了 “ctx”PyPI 程序包的所有权。他通过一个机器人爬虫了不同的开源注册表并抓取了注册表中每个程序包中所列的维护人员邮件地址。
该机器人每次遇到使用自定义且已过期域名的邮箱地址,就会发出通知。多年来没有任何变化的 “ctx” 程序包最初通过维护人员的邮箱地址 figlief@figlief.com 发布到PyPI 注册表中。Aydin 解释称,“机器人通知我该域名无效,因此如果我购买则能够发送密码忘记邮件并接管程序包。”注册了现在已可用的figlief.com 域名并重新创建了维护人员的邮箱地址后,他成功为 “ctx” 项目重置了密码。他通过这种方法登录到PyPI 维护人员的账户并发布已修改版本。
通过过期的维护人员域名劫持 “ctx” 并非新的攻击方法。这种已知问题不仅影响开源注册表,还影响任何可使用户通过自定义域名邮件地址注册账户的网站。如果域名(这里指的是邮箱地址)后续过期,则任何人可以注册该域名,并通过启动密码充值后登录到已弃用账户。
微软和北卡莱纳州大学组成的研究团队发现,npm上的数千份 JavaScript 项目中含有使用过期域名的维护人员邮件地址,导致这些项目易受劫持。
然而,PHPass 库的劫持和“仓库劫持”或“链劫持”的关系更大。被弃用的 GitHub 仓库被另外一名用户所有,可以将该程序包的版本重新发布到 PHP/Composer 注册表Packagist。
该研究人员表示,“我在5月19日发送报告,说明我劫持了PHPass仓库,一天后我被告知报告和别人重复了。”
Aydin 表示,研究中“并未包含任何恶意活动”,他通过 Heroku webapp 收到了1000个环境变量,尽管随着在线社区成员开始向 Heroku 端点发送很多请求,为劫持者生成大量账单,因此多数变量中包含虚假数据。
他指出,“但是我使用的是 Heroku 的免费版本,因此我不会在Heroku 上使用计费信息。”
值得一提的是,有人发现Aydin 抄袭了研究员 Matthew Bryant 在今年2月份发布的一份博客文章且并未提出这一点。
热门PyPI 包 “ctx” 和 PHP库 “phpass” 长时间未更新遭劫持,用于窃取AWS密钥
趁机买走热门包唯一维护人员的邮件域名,我差点发动npm 软件供应链攻击
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
不满当免费劳力,NPM 热门库 “colors” 和 “faker” 的作者设无限循环
NPM流行包再起波澜:维护人员对俄罗斯用户发特定消息,谁来保证开源可信?
200多个恶意NPM程序包针对Azure 开发人员,发动供应链攻击
NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Pwn2Own大赛回顾:利用开源服务中的严重漏洞,攻陷西部数据My Cloud PR4100
热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
https://www.bleepingcomputer.com/news/security/hacker-says-hijacking-libraries-stealing-aws-keys-was-ethical-research/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。